In general, the term “encryption” refers to a process of encoding messages or information in such a way that only authorized parties can read the messages or information. A field of science that deals with encryption is called cryptography. Information has been encrypted throughout history, and it is well known that each encryption algorithm has its own associated weaknesses. Cryptanalysis, which is a branch of cryptology, is used to find weaknesses in encryption algorithms.
Encryption algorithms can be categorized into symmetric algorithms (namely, symmetric-key algorithms) and asymmetric algorithms (namely, asymmetric-key algorithms). The symmetric and asymmetric algorithms mutually differ in a way in which an encryption key is used and processed. Symmetric encryption algorithms use a shared common key to encrypt data at a transmitting end and to decrypt encrypted data at a corresponding receiving end. On the other hand, asymmetric encryption algorithms use two different keys, one of which is a public key used to encrypt data and the other is a private key used to decrypt encrypted data. Only the public key is shared between parties.
Moreover, there are one-way message digest functions, namely hash functions, which are not data encryption techniques as such, because data they represent are difficult or impossible to recover. However, one-way message digest functions are used to verify an authenticity of data and passwords, and also are used to generate encryption keys for encryption algorithms.
It is well-known that data encryption is a technically demanding operation that requires a lot of computing resources. Therefore, in order to save on computing resources and to reduce computing time, a hybrid combination of asymmetric and symmetric encryption algorithms is often used. This provides a sufficiently strong protection, such that unauthorized third-party decryption cannot be executed in real time with current computing resources. Such a kind of approach is commonly used in various different data transfer protocols, for example, such as Secure Sockets Layer (SSL)/Transport Layer Security (TLS) and Secure Shell (SSH), and in applications to sign and encrypt e-mail messages, for example, such as Pretty Good Privacy (PGP).
It has been established that cryptology, namely the scientific study of cryptography and cryptanalysis, is a continuously developing field of science that, with means of cryptanalysis, attempts to find weaknesses in encryption algorithms. For this reason, it is essential to be able to protect information maximally, but correspondingly there is a need to make compromises regarding use of computing resources used to implement the encryption. Moreover, the computing resources available are usually limited, especially in mobile devices which do their utmost to save battery power.
In a United States patent document US2006/0188095A1 (Jung et al.; “Combination encoding method for simultaneous encrypting and channel encoding, transmitting apparatus thereof, combination decoding method for simultaneous channel decoding and decrypting, and receiving apparatus thereof”; assigned to Samsung Electronics Co. Ltd.), there is described a combination encoding method, a transmitting apparatus thereof, a combination decoding method, and a receiving apparatus thereof. The transmitting apparatus includes a combination encoding unit for performing combination encoding on a source coded message and outputting the combination encoded message, thereby performing encrypting and channel encoding simultaneously. The receiving apparatus includes a combination decoding unit for performing combination decoding on a noise-added combination encoded message from a demodulator, and outputting a source coded message, thereby simultaneously performing channel decoding and decrypting on the noise-added combination encoded message.
In a United States patent document U.S. Pat. No. 8,660,261B2 (Chang et al.; “System and apparatus for integrated video/image encoding/decoding and encryption/decryption”, assigned to Mediatek Singapore Pte. Ltd.), there is described an encryption-enabled entropy coder for a multimedia codec. The entropy coder implements a randomized Huffman coding scheme without storing multiple sets of Huffman tables in a read-only memory (ROM). The entropy coder includes a ROM storing a single set of code tables, a table lookup section coupled to the ROM which converts symbols to original code-words and vice versa by performing table lookup, and a table randomizer section for converting original Huffman code-words to randomized Huffman code words and vice versa, using an isomorphic code generator algorithm. The table randomizer section performs the conversion based upon a key hopping sequence generated by a pseudorandom bit generator using an encryption/decryption key.
In a United States patent document US2006/0056625A1 (Sumie et al.; “Encryption method, encryption apparatus, data storage distribution apparatus and data delivery system”, assigned to Hitachi Kokusai Electric, Inc.), there is described an encryption method for encrypting data to be encrypted by using a random number sequence generated by a random number generating unit for generating the random number sequence uniquely decided from an input parameter, comprising the step of: generating the input parameter based on metadata of the data to be encrypted. In a published article (Samarakoon et al.; “Encrypted video over TETRA”), there is described a mobile communications system with enhanced security. The system uses end to end encryption in addition to air interference encryption. The system uses a frame insertion technique to provide synchronization for end to end encryption. The frame insertion technique inserts synchronisation frames to a transmitted video stream between successive video frames to avoid data loss. However, to permit insertion the application has to reduce the data rate to maintain the same overall transmission rate.